package com.answeringplayer.service;

import com.answeringplayer.dto.CategoryDTO;
import com.answeringplayer.dto.PracticeRecordDTO;
import com.answeringplayer.dto.QuestionBankDTO;
import com.answeringplayer.dto.QuestionDTO;

import java.util.List;

public interface QuestionService {

    // 分类相关
    List<CategoryDTO> getAllCategories();
    CategoryDTO getCategoryById(Integer categoryId);

    // 题库相关
    List<QuestionBankDTO> getAllQuestionBanks();
    List<QuestionBankDTO> getQuestionBanksByCategory(Integer categoryId);
    QuestionBankDTO getQuestionBankDetail(Integer bankId);  // 改为返回 QuestionBankDTO
    List<QuestionBankDTO> getQuestionBanksByPage(Integer categoryId, String keyword, Integer page, Integer pageSize);

    // 题目相关
    List<QuestionDTO> getQuestionsByBank(Integer bankId);
    QuestionDTO getQuestionDetail(Long questionId);  // 改为返回 QuestionDTO
    List<QuestionDTO> getQuestionsByPage(Integer bankId, String questionType, Integer difficulty, Integer page, Integer pageSize);

    // 练习记录
    List<PracticeRecordDTO> queryPracticeRecord(Long userId);
}